package com.ruoyi.web.controller.system;

import nccloud.open.api.auto.token.cur.utils.APICurUtils;
import nccloud.open.api.auto.token.factory.APIUtilsFactory;
import nccloud.open.api.auto.token.factory.NCCVersionEnum;
import nccloud.open.api.auto.token.itf.IAPIUtils;

public class TokenTest
{
    public static void main(String[] args) throws Exception {
        IAPIUtils util = null;
        // 传参版本号或版本枚举获取工具类
        util = new APICurUtils();
        // 服务地址ip
        String ip = "192.168.1.208";
        // 服务端口号
        String port = "7777";
        // 账套编码，开发环境使用develop，生产环境需要使用用root账号登录，在“系统管理”节点查看账套编码
        String busi_center = "001";
        // 第三方应用编码
        String app_id = "ceshi0001";
        // app_secret，用于请求加签
        String app_secret = "4edd9e406f4c480f9465";
        // 公钥，加解密使用
        String public_key ="MIIBIjANBgkqhkiG9wCAQEAuiHMr9FKp4BoP1TKjiXpdpW7qM8wD6IlX++maaTaZl8SyGSgmDR6IUsBA8g0MqU0HBfv50fsQ9Fq0m5bwa0tkdMpwFp2ry0uis1bzFqbMB9BsY7GLG9bOgZtd5y5a2xjf1KD+PgyZBomF1dFjFxCD32QIfgmBkGVTXBUoExMhjwMwq3a2KJmJEXf1fSS8wkFHN5YLXpoJicZiOxbuvrNK+Sf34yr2m+ZFOG/mAnpiReWJOVYpqXmpT5Oc6of3OZGkBNqO4LZCes5rGadi9ndiwebbTTKFOsY+LMM2RLGlT6RfFcZFAxk6lPkwFj7XdsXq0FstwqUDH0MrAiK/BMqkwIDAQAB";
        // ncc用户名
        String ncc_user = "qiaol";
        // ncc用户密码
        String password = "qwe123...";
        // 公有云租户id
        String tenant_id = "";
        // 加密等级
        String secret_level = "L0";
        // 授权模式，客户端模式为client，密码模式为：password
        String grant_type = "password";

        // 初始化方法1
        //util.init(ip, port, busi_center, app_id, app_secret, public_key, ncc_user, password);
        // 初始化方法2，tenant_id、secret_level、grant_type这三个参数也可以通过setter注入
        util.init(ip, port, busi_center, app_id, app_secret, public_key, ncc_user, password, tenant_id, secret_level, grant_type);

        // 获取token
        String token = util.getToken();
        // System.out.println(token);
        // 请求的OpenAPI接口地址，注意nccloud前面没有"/"
        String apiuri = "nccloud/api/uapbd/jdfz/bandoc/byCodeQuery";
        util.setApiUrl(apiuri);
        String requestParam = "{\"code\":\"104397437005\"}";
        // 携带token访问接口，获取结果
        String result = util.getAPIRetrun(token, requestParam);
        System.out.println(result);
    }
}
